package com.kurumi.service;

import java.util.List;
import java.util.Map;

import com.kurumi.pojo.MedicalRecordPageTrace;
import com.kurumi.pojo.MedicalRecordTrace;
import com.kurumi.query.MedicalRecordQuery;

public interface MedicalRecordTraceService {

	/**
	 * 新增病案示踪
	 * @param medicalRecordTrace
	 * @return
	 */
	int insertMedicalRecordTrace(MedicalRecordTrace medicalRecordTrace);
	
	/**
	 * 获取病案纸质示踪详情
	 * @return
	 */
	List<Map<String,Object>> getMeditalRecordPageTraceByVisitGuid(String visitGuid);
	
	/**
	 * 新增病案纸质示踪
	 * @param medicalRecordPageTrace
	 * @return
	 */
	int insertMedicalRecordPageTrace(MedicalRecordPageTrace medicalRecordPageTrace);
	
	
	/**
	 * 获取纸质归档病案
	 * @return
	 */
	List<Map<String,Object>> getMedicalRecordOfPagePutAwayTrace(MedicalRecordQuery medicalRecordQuery);
	
	/**
	 * 获取纸质归档病案数量
	 * @return
	 */
	int getMedicalRecordCountOfPagePutAwayTrace(MedicalRecordQuery medicalRecordQuery);
	
	/**
	 * 获取病案最新状态
	 * @return
	 */
	List<Map<String,Object>> getMedicalRecordOfPageTrace(MedicalRecordQuery medicalRecordQuery);
	
	/**
	 * 获取病案最新状态数量
	 * @return
	 */
	int getMedicalRecordCountOfPageTrace(MedicalRecordQuery medicalRecordQuery);
	

	/**
	 * 获取已签收病案
	 * @return
	 */
	List<Map<String,Object>> getMedicalRecordOfSigned(MedicalRecordQuery medicalRecordQuery);
	
	/**
	 * 获取已签收病案数量
	 * @return
	 */
	int getMedicalRecordCountOfSigned(MedicalRecordQuery medicalRecordQuery);
	
	
	/**
	 * 获取扫描纸质病案
	 * @return
	 */
	List<Map<String,Object>> getMedicalRecordOfScan(MedicalRecordQuery medicalRecordQuery);
	
	/**
	 * 获取扫描纸质病案数量
	 * @return
	 */
	int getMedicalRecordCountOfScan(MedicalRecordQuery medicalRecordQuery);
	
	
	/**
	 * 新增纸质病案质控示踪
	 * @param visitGuid
	 * @return
	 */
	int insertQualityControlPageTrace(String visitGuid);
	

	/**
	 * 新增纸质病案编码示踪
	 * @param visitGuid
	 * @return
	 */
	int insertCodingPageTrace(String visitGuid);
}
